    // 设置默认加载夜间模式
    document.addEventListener('DOMContentLoaded', function () {
        const body = document.body;
        body.classList.add('night-mode'); // 默认加载夜间模式
    });

    // 行内代码的渲染
    document.addEventListener("DOMContentLoaded", function () {
        var codeBlocks = document.querySelectorAll(".markdown-content p code");
        codeBlocks.forEach(function (codeBlock) {
            // 获取每个代码行的文本内容
            var codeText = codeBlock.innerHTML;
            // 用<code>标签包裹代码行
            var newElement = document.createElement("code");
            newElement.textContent = codeText;
            // 替换原始的<code>标签
            codeBlock.parentNode.replaceChild(newElement, codeBlock);
        });
    });
    // copy按钮
    document.addEventListener('DOMContentLoaded', function () {
        const codeBlocks = document.querySelectorAll('pre > code');
        codeBlocks.forEach(function (codeBlock) {

            const copyButton = document.createElement('button');
            copyButton.className = 'copy-btn';
            copyButton.textContent = 'Copy';
            codeBlock.parentNode.insertBefore(copyButton, codeBlock.nextSibling);

            copyButton.addEventListener('click', function () {
                const textArea = document.createElement('textarea');
                // textArea.value = codeBlock.innerText;
                let codeText = (codeBlock.innerText || codeBlock.textContent).trim();
                // 处理连续换行，仅保留至少两个连续空行
                codeText = codeText.replace(/(\r?\n){2,}/g, '\n');
                textArea.value = codeText;

                document.body.appendChild(textArea);
                textArea.select();
                document.execCommand('copy');
                document.body.removeChild(textArea);

                // 这里是按钮点击后的一系列操作
                copyButton.style.backgroundColor = '#2ecc71'; // 设置按钮点击后的颜色
                // 按钮被点击后，1秒后执行恢复原始样式的操作
                setTimeout(function () {
                    copyButton.style.backgroundColor = 'rgba(197, 217, 227, 0.99)';
                }, 1200); // 这里设置延迟的时间，单位为毫秒（这里是5秒）
            });
        });
    });


    // -------------------------------------------------
    // 夜间模式切换
    function toggleMode() {
        const body = document.body;
        body.classList.toggle('day-mode');
        body.classList.toggle('night-mode');
    }

    // JS 监听页面滚动事件，固定开关按钮
    window.onscroll = function () {
        const toggleButton = document.querySelector('.toggle');
        if (toggleButton) {
            if (window.pageYOffset > 100) { // 滚动多少距离后按钮固定
                toggleButton.style.top = '40px'; // 按钮固定位置
            } else {
                toggleButton.style.top = '80px'; // 按钮初始位置
            }
        }
    };

    // 查找所有的 p 标签并为其添加类名
    const paragraphs = document.querySelectorAll('blockquote > p');
    paragraphs.forEach(paragraph => {
        let text = paragraph.textContent;
        if (text.includes('[!note]')) {
            paragraph.classList.add('note');
            text = text.replace(/\[!note\]/g, ''); // 去除 '[!note]' 标记
        } else if (text.includes('[!warning]')) {
            paragraph.classList.add('warning');
            text = text.replace(/\[!warning\]/g, ''); // 去除 '[!warning]' 标记
        } else if (text.includes('[!tip]')) {
            paragraph.classList.add('tip');
            text = text.replace(/\[!tip\]/g, ''); // 去除 '[!tip]' 标记
        } else if (text.includes('[!info]')) {
            paragraph.classList.add('info');
            text = text.replace(/\[!info\]/g, ''); // 去除 '[!info]' 标记
        }
        paragraph.textContent = text.trim(); // 设置处理后的文本内容
        // 可根据需要添加更多的条件判断和对应的样式类
    });


    document.addEventListener('DOMContentLoaded', function () {
        // 获取所有的图片元素
        const images = document.querySelectorAll('.markdown-content img');
        let isDragging = false; // 是否正在拖动
        let dragStartX = 0; // 拖动起始X坐标
        let dragStartY = 0; // 拖动起始Y坐标
        let currentOverlay = null; // 用于存储当前遮罩层
        let currentZoomedImage = null; // 用于存储当前被放大的图片元素

        // 添加点击事件监听器
        images.forEach(image => {
            image.addEventListener('click', () => {
                    // 切换图片的放大状态
                    image.classList.toggle('zoomed');
                    let scale = 1; // 将 scale 移到这里

                    // 如果图片处于放大状态
                    if (image.classList.contains('zoomed')) {
                        // 创建遮罩层
                        const overlay = document.createElement('div');
                        overlay.classList.add('overlay');

                        // 创建放大后的图片
                        const zoomedImg = document.createElement('img');
                        zoomedImg.src = image.src;
                        zoomedImg.alt = 'Zoomed Image';
                        zoomedImg.classList.add('zoomed-image');

                        // 将放大后的图片添加到遮罩层
                        overlay.appendChild(zoomedImg);

                        // 创建工具栏
                        const toolbar = document.createElement('div');
                        toolbar.classList.add('toolbar');

                        // 创建缩小按钮
                        const zoomOutButton = createButton('-', () => {
                            console.log("-----")
                            // 缩小图片
                            scale -= 0.2;
                            scale = Math.max(0.1, scale);
                            zoomedImg.style.transform = 'scale(' + scale + ')';
                        });

                        // 创建放大按钮
                        const zoomInButton = createButton('+', () => {
                            // 放大图片
                            console.log("+++++")
                            scale += 0.2;
                            scale = Math.min(3.0, scale);
                            zoomedImg.style.transform = 'scale(' + scale + ')';
                        });

                        const closeButton = createButton('x', () => {
                            overlay.remove();
                            image.classList.remove('zoomed');
                        });

                        // 将按钮添加到工具栏
                        toolbar.appendChild(zoomOutButton);
                        toolbar.appendChild(zoomInButton);
                        toolbar.appendChild(closeButton);

                        // 将工具栏添加到遮罩层
                        overlay.appendChild(toolbar);

                        // 将遮罩层添加到文档的 body 中
                        document.body.appendChild(overlay);

                        // 创建放大后的图片
                        currentZoomedImage = overlay; // 正确地在这里定义currentZoomedImage


                        // 绑定鼠标按下事件到currentZoomedImage
                        currentZoomedImage.addEventListener('mousedown', startDrag);
                        // 绑定鼠标移动和鼠标抬起事件到document
                        document.addEventListener('mousemove', moveDrag);
                        document.addEventListener('mouseup', stopDrag);
                    } else {
                        // 如果图片不再放大，清理相关资源
                        if (currentZoomedImage) {
                            currentZoomedImage.removeEventListener('mousedown', startDrag);
                            document.removeEventListener('mousemove', moveDrag);
                            document.removeEventListener('mouseup', stopDrag);
                            currentZoomedImage = null;
                        }
                        if (currentOverlay) {
                            currentOverlay.remove();
                            currentOverlay = null;
                        }
                        image.classList.remove('zoomed');
                    }
                }
            )
            ;
        });

        // 拖动处理函数保持不变，但确保使用currentZoomedImage
        function startDrag(e) {
            isDragging = true;
            dragStartX = e.clientX - parseInt(currentZoomedImage.style.left || 0);
            dragStartY = e.clientY - parseInt(currentZoomedImage.style.top || 0);
            currentZoomedImage.style.cursor = 'move';
            e.preventDefault();
        }

        // 拖动过程的处理函数
        function moveDrag(e) {
            if (!isDragging) return;
            const newX = e.clientX - dragStartX;
            const newY = e.clientY - dragStartY;
            currentZoomedImage.style.left = newX + 'px';
            currentZoomedImage.style.top = newY + 'px';
        }

        // 结束拖动的处理函数
        function stopDrag() {
            isDragging = false;
            currentZoomedImage.style.cursor = 'auto';
        }

        // 辅助函数，创建带有文本和点击事件的按钮
        function createButton(text, onClick) {
            const button = document.createElement('button');
            button.textContent = text;
            button.addEventListener('click', onClick);
            return button;
        }
    });


    const toc = document.querySelector('.toc');
    toc.style.display = 'none'
    const toggleButton = document.querySelector('.tocShowButton');
    // 切换toc显示/隐藏
    toggleButton.addEventListener('click', function () {
        if (toc.style.display === 'none') {
            toc.style.display = 'block';
        } else {
            toc.style.display = 'none';
        }
    });

